添加时间段筛选

addTimeFilter('字段名' [,'开始日期和结束日期', '开始日期和结束日期的提示'])

版本新增功能
1.0.6支持自定义开始日期和结束日期,以及文本框提示信息

可以对某个时间字段进行时间段筛选,比如:

  1. // 使用ZBuilder构建数据表格
  2. return ZBuilder::make('table')
  3. ->addTimeFilter('create_time') // 添加时间段筛选
  4. ->fetch();

以上表示添加create_time字段的范围筛选,数据表格上方会出现时间段输入框。

添加时间段筛选 - 图1

注意:目前只支持一个字段,即addTimeFilter方法只能用一次,不可连续调用。

自定义开始日期和结束日期

从1.0.6版本开始,可以自定义开始日期和结束日期,自定义文本框提示信息,默认是“开始日期”和“结束日期”。

  1. // 使用ZBuilder构建数据表格
  2. return ZBuilder::make('table')
  3. ->addTimeFilter('create_time', '2017-01-01,2017-02-01') // 添加时间段筛选
  4. ->fetch();

添加时间段筛选 - 图2

也可以使用数组

  1. // 使用ZBuilder构建数据表格
  2. return ZBuilder::make('table')
  3. ->addTimeFilter('create_time', ['2017-01-01', '2017-02-01']) // 添加时间段筛选
  4. ->fetch();

如果只写一个日期,则开始日期和结束日期相同

这样仅显示默认开始日期和结束日期,还需要配合$map查询默认的数据。

  1. $map = $this->getMap();
  2. if (!isset($map['create_time'])) {
  3. $map['create_time'] = ['between time', ['2017-01-01 00:00:00', '2017-02-01 23:59:59']]
  4. }
  5. $data_list = Db::name('admin_user')->where($map)->paginate();
  6. // 使用ZBuilder构建数据表格
  7. return ZBuilder::make('table')
  8. ->addTimeFilter('create_time', '2017-01-01,2017-02-01') // 添加时间段筛选
  9. ->setRowList($data_list)
  10. ->fetch();

自定义文本框提示信息

从1.0.6版本开始,可以自定义文本框提示信息,默认是“开始日期”和“结束日期”。

  1. // 使用ZBuilder构建数据表格
  2. return ZBuilder::make('table')
  3. ->addTimeFilter('create_time', '', '开始时间,结束时间')
  4. ->fetch();

如果只写一个提示,则开始日期和结束日期相同的提示相同。

也可以使用数组

  1. // 使用ZBuilder构建数据表格
  2. return ZBuilder::make('table')
  3. ->addTimeFilter('create_time', '', ['开始时间', '结束时间'])
  4. ->fetch();